home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / FromTheMag / JW FLV MEDIA PLAYER 4.2 / mediaplayer.exe / player.swf / scripts / com / meychi / ascript / TEA.as
Text File  |  2008-11-04  |  7KB  |  194 lines

  1. package com.meychi.ascript
  2. {
  3.    public class TEA
  4.    {
  5.        
  6.       
  7.       public function TEA()
  8.       {
  9.          super();
  10.       }
  11.       
  12.       private static function strToChars(param1:String) : Array
  13.       {
  14.          var _loc2_:Array = null;
  15.          var _loc3_:Number = NaN;
  16.          _loc2_ = new Array();
  17.          _loc3_ = 0;
  18.          while(_loc3_ < param1.length)
  19.          {
  20.             _loc2_.push(param1.charCodeAt(_loc3_));
  21.             _loc3_++;
  22.          }
  23.          return _loc2_;
  24.       }
  25.       
  26.       private static function charsToHex(param1:Array) : String
  27.       {
  28.          var _loc2_:String = null;
  29.          var _loc3_:Array = null;
  30.          var _loc4_:Number = NaN;
  31.          _loc2_ = new String("");
  32.          _loc3_ = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
  33.          _loc4_ = 0;
  34.          while(_loc4_ < param1.length)
  35.          {
  36.             _loc2_ += _loc3_[param1[_loc4_] >> 4] + _loc3_[param1[_loc4_] & 15];
  37.             _loc4_++;
  38.          }
  39.          return _loc2_;
  40.       }
  41.       
  42.       public static function encrypt(param1:String, param2:String) : String
  43.       {
  44.          var _loc3_:Array = null;
  45.          var _loc4_:Array = null;
  46.          var _loc5_:Number = NaN;
  47.          var _loc6_:Number = NaN;
  48.          var _loc7_:Number = NaN;
  49.          var _loc8_:Number = NaN;
  50.          var _loc9_:Number = NaN;
  51.          var _loc10_:Number = NaN;
  52.          var _loc11_:Number = NaN;
  53.          var _loc12_:Number = NaN;
  54.          var _loc13_:Number = NaN;
  55.          _loc3_ = charsToLongs(strToChars(param1));
  56.          _loc4_ = charsToLongs(strToChars(param2));
  57.          if((_loc5_ = _loc3_.length) == 0)
  58.          {
  59.             return "";
  60.          }
  61.          if(_loc5_ == 1)
  62.          {
  63.             var _loc14_:*;
  64.             _loc3_[_loc14_ = _loc5_++] = 0;
  65.          }
  66.          _loc7_ = _loc3_[_loc5_ - 1];
  67.          _loc8_ = _loc3_[0];
  68.          _loc9_ = 2654435769;
  69.          _loc12_ = Math.floor(6 + 52 / _loc5_);
  70.          _loc13_ = 0;
  71.          while(_loc12_-- > 0)
  72.          {
  73.             _loc11_ = (_loc13_ += _loc9_) >>> 2 & 3;
  74.             _loc6_ = 0;
  75.             while(_loc6_ < _loc5_ - 1)
  76.             {
  77.                _loc8_ = _loc3_[_loc6_ + 1];
  78.                _loc10_ = (_loc7_ >>> 5 ^ _loc8_ << 2) + (_loc8_ >>> 3 ^ _loc7_ << 4) ^ (_loc13_ ^ _loc8_) + (_loc4_[_loc6_ & 3 ^ _loc11_] ^ _loc7_);
  79.                _loc7_ = _loc3_[_loc6_] = _loc3_[_loc6_] + _loc10_;
  80.                _loc6_++;
  81.             }
  82.             _loc8_ = _loc3_[0];
  83.             _loc10_ = (_loc7_ >>> 5 ^ _loc8_ << 2) + (_loc8_ >>> 3 ^ _loc7_ << 4) ^ (_loc13_ ^ _loc8_) + (_loc4_[_loc6_ & 3 ^ _loc11_] ^ _loc7_);
  84.             _loc7_ = _loc3_[_loc5_ - 1] = _loc3_[_loc5_ - 1] + _loc10_;
  85.          }
  86.          return charsToHex(longsToChars(_loc3_));
  87.       }
  88.       
  89.       private static function longToChars(param1:Number) : Array
  90.       {
  91.          var _loc2_:Array = null;
  92.          _loc2_ = new Array();
  93.          _loc2_.push(param1 & 255,param1 >>> 8 & 255,param1 >>> 16 & 255,param1 >>> 24 & 255);
  94.          return _loc2_;
  95.       }
  96.       
  97.       private static function hexToChars(param1:String) : Array
  98.       {
  99.          var _loc2_:Array = null;
  100.          var _loc3_:Number = NaN;
  101.          _loc2_ = new Array();
  102.          _loc3_ = param1.substr(0,2) == "0x" ? Number(2) : Number(0);
  103.          while(_loc3_ < param1.length)
  104.          {
  105.             _loc2_.push(parseInt(param1.substr(_loc3_,2),16));
  106.             _loc3_ += 2;
  107.          }
  108.          return _loc2_;
  109.       }
  110.       
  111.       private static function charsToStr(param1:Array) : String
  112.       {
  113.          var _loc2_:String = null;
  114.          var _loc3_:Number = NaN;
  115.          _loc2_ = new String("");
  116.          _loc3_ = 0;
  117.          while(_loc3_ < param1.length)
  118.          {
  119.             _loc2_ += String.fromCharCode(param1[_loc3_]);
  120.             _loc3_++;
  121.          }
  122.          return _loc2_;
  123.       }
  124.       
  125.       private static function longsToChars(param1:Array) : Array
  126.       {
  127.          var _loc2_:Array = null;
  128.          var _loc3_:Number = NaN;
  129.          _loc2_ = new Array();
  130.          _loc3_ = 0;
  131.          while(_loc3_ < param1.length)
  132.          {
  133.             _loc2_.push(param1[_loc3_] & 255,param1[_loc3_] >>> 8 & 255,param1[_loc3_] >>> 16 & 255,param1[_loc3_] >>> 24 & 255);
  134.             _loc3_++;
  135.          }
  136.          return _loc2_;
  137.       }
  138.       
  139.       public static function decrypt(param1:String, param2:String) : String
  140.       {
  141.          var _loc3_:Array = null;
  142.          var _loc4_:Array = null;
  143.          var _loc5_:Number = NaN;
  144.          var _loc6_:Number = NaN;
  145.          var _loc7_:Number = NaN;
  146.          var _loc8_:Number = NaN;
  147.          var _loc9_:Number = NaN;
  148.          var _loc10_:Number = NaN;
  149.          var _loc11_:Number = NaN;
  150.          var _loc12_:Number = NaN;
  151.          var _loc13_:Number = NaN;
  152.          _loc3_ = charsToLongs(hexToChars(param1));
  153.          _loc4_ = charsToLongs(strToChars(param2));
  154.          if((_loc5_ = _loc3_.length) == 0)
  155.          {
  156.             return "";
  157.          }
  158.          _loc7_ = _loc3_[_loc5_ - 1];
  159.          _loc8_ = _loc3_[0];
  160.          _loc9_ = 2654435769;
  161.          _loc13_ = (_loc12_ = Math.floor(6 + 52 / _loc5_)) * _loc9_;
  162.          while(_loc13_ != 0)
  163.          {
  164.             _loc11_ = _loc13_ >>> 2 & 3;
  165.             _loc6_ = _loc5_ - 1;
  166.             while(_loc6_ > 0)
  167.             {
  168.                _loc10_ = ((_loc7_ = _loc3_[_loc6_ - 1]) >>> 5 ^ _loc8_ << 2) + (_loc8_ >>> 3 ^ _loc7_ << 4) ^ (_loc13_ ^ _loc8_) + (_loc4_[_loc6_ & 3 ^ _loc11_] ^ _loc7_);
  169.                _loc8_ = _loc3_[_loc6_] = _loc3_[_loc6_] - _loc10_;
  170.                _loc6_--;
  171.             }
  172.             _loc10_ = ((_loc7_ = _loc3_[_loc5_ - 1]) >>> 5 ^ _loc8_ << 2) + (_loc8_ >>> 3 ^ _loc7_ << 4) ^ (_loc13_ ^ _loc8_) + (_loc4_[_loc6_ & 3 ^ _loc11_] ^ _loc7_);
  173.             _loc8_ = _loc3_[0] = _loc3_[0] - _loc10_;
  174.             _loc13_ -= _loc9_;
  175.          }
  176.          return charsToStr(longsToChars(_loc3_));
  177.       }
  178.       
  179.       private static function charsToLongs(param1:Array) : Array
  180.       {
  181.          var _loc2_:Array = null;
  182.          var _loc3_:Number = NaN;
  183.          _loc2_ = new Array(Math.ceil(param1.length / 4));
  184.          _loc3_ = 0;
  185.          while(_loc3_ < _loc2_.length)
  186.          {
  187.             _loc2_[_loc3_] = param1[_loc3_ * 4] + (param1[_loc3_ * 4 + 1] << 8) + (param1[_loc3_ * 4 + 2] << 16) + (param1[_loc3_ * 4 + 3] << 24);
  188.             _loc3_++;
  189.          }
  190.          return _loc2_;
  191.       }
  192.    }
  193. }
  194.